package com.example.baiduapi.Util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;

public class DateUtil {
    /*
     * @param timeString 传入的时间字符串
     * @return 返回时间差（单位：秒）
     * @throws ParseException
     */
    public static long getTimeDifferenceInSeconds(String timeString) throws ParseException {
        // 设置日期格式
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        // 将传入的时间字符串解析为 Date 对象
        Date time = format.parse(timeString);

        // 获取当前时间
        Date currentTime = new Date();

        // 计算时间差（单位：毫秒）
        long differenceInMilliseconds = currentTime.getTime() - time.getTime();

        // 将毫秒转换为秒，并返回结果
        return differenceInMilliseconds / 1000;
    }

    /**
     * 当前时间带秒
     * @return 2023-11-01 14:02:49
     */
    public static String nowDateTime(){
        LocalDateTime currentTime = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String formattedTime = currentTime.format(formatter);
        return formattedTime;
    }

    /**
     * 判断时间1是否在时间2之前
     * @param date1 时间1
     * @param date2 时间2
     * @return
     */
    public static boolean isDate1BeforeDate2(String date1, String date2) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            Date d1 = sdf.parse(date1);
            Date d2 = sdf.parse(date2);
            return d1.before(d2);
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }


    /**
     * 当前时间不带秒
     * @return 2023-11-01
     */
    public static String nowDate(){
        return LocalDate.now().toString();
    }

}
